home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 25
/
Cream of the Crop 25.iso
/
bbs
/
pcsuni1.zip
/
VOTER404.ZIP
/
VOTE.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1997-03-24
|
34KB
|
1,436 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer TINTEGER005(99)
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
Integer INTEGER017
Integer INTEGER018
Integer TINTEGER019(1)
Integer INTEGER020
Integer INTEGER021
Integer INTEGER022
Integer TINTEGER023(99)
Integer INTEGER024
Integer INTEGER025
Integer INTEGER026
Integer INTEGER027
Integer INTEGER028
Integer INTEGER029
Integer INTEGER030
Integer INTEGER031
Integer INTEGER032
Integer INTEGER033
Integer INTEGER034
Integer INTEGER035
Integer INTEGER036
Integer INTEGER037
Integer INTEGER038
Integer INTEGER039
Integer INTEGER040
Integer INTEGER041
Integer INTEGER042
Integer INTEGER043
Integer INTEGER044
Integer INTEGER045
Integer TINTEGER046(1)
Integer INTEGER047
Integer INTEGER048
Integer INTEGER049
Integer INTEGER050
Integer INTEGER051
Integer INTEGER052
Integer INTEGER053
Integer INTEGER054
Integer INTEGER055
Integer INTEGER056
Integer INTEGER057
Integer INTEGER058
Integer INTEGER059
Integer INTEGER060
Integer INTEGER061
Integer INTEGER062
Integer INTEGER063
String STRING001
String TSTRING002(3)
String TSTRING003(7)
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String TSTRING010(1)
String STRING011
String TSTRING012(1)
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
String STRING022
String STRING023
String STRING024
String STRING025
String TSTRING026(1)
String STRING027
String TSTRING028(1)
String STRING029
String STRING030
String STRING031
String TSTRING032(1)
String STRING033
String STRING034
String STRING035
String STRING036
String TSTRING037(1)
String STRING038
String STRING039
String STRING040
String STRING041
String STRING042
String STRING043
String STRING044
String STRING045
String TSTRING046(27)
String STRING047
String STRING048
String STRING049
String STRING050
Byte BYTE001
Byte BYTE002
;------------------------------------------------------------------------------
GetToken STRING049
STRING049 = Upper(STRING049)
If (STRING049 == "BLT") Goto LABEL054
GetUser
STRING047 = Time()
Log "+++ Entered Voter++ at -> " + STRING047, 0
FOpen 1, PPEPath() + PPEName() + ".CFG", 0, 0
FDefIn 1
For INTEGER006 = 1 To 7
FDGet TSTRING003(INTEGER006)
TSTRING003(INTEGER006) = RTrim(Left(TSTRING003(INTEGER006), 29), " ")
Next
FClose 1
FOpen 2, PPEPath() + PPEName() + ".PRM", 0, 0
FDefIn 2
For INTEGER006 = 1 To 27
FDGet TSTRING046(INTEGER006)
Next
FClose 2
Redim TSTRING010, S2I(TSTRING003(1), 10)
Redim TSTRING012, S2I(TSTRING003(1), 10)
Redim TSTRING026, S2I(TSTRING003(1), 10)
Redim TSTRING028, S2I(TSTRING003(1), 10)
Redim TSTRING032, S2I(TSTRING003(1), 10)
Redim TSTRING037, S2I(TSTRING003(1), 10)
Redim TINTEGER019, S2I(TSTRING003(1), 10)
Redim TINTEGER046, S2I(TSTRING003(1), 10)
BOOLEAN002 = 0
STRING015 = TSTRING003(2) + TSTRING003(3)
STRING015 = Strip(STRING015, " ")
For INTEGER024 = 1 To Len(STRING015)
TINTEGER023(INTEGER024) = Asc(Mid(STRING015, INTEGER024, 1))
Next
INTEGER025 = 0
For INTEGER024 = 1 To 80
INTEGER025 = INTEGER025 + TINTEGER023(INTEGER024)
Next
INTEGER022 = INTEGER025 * 709
If (INTEGER022 == TSTRING003(4)) Then
BOOLEAN003 = 1
Else
BOOLEAN003 = 0
Endif
If (Exist(PPEPath() + "UNIVERSL.KEY")) Gosub LABEL058
If (Exist(PPEPath() + "UNI.KEY")) Gosub LABEL059
If (AnsiOn()) Goto LABEL001
PrintLn "Sorry, but this program requires you to have ANSI capabilities, if you"
PrintLn "would like to use this voting door, then please type M at the main menu"
PrintLn "this will place you in graphics mode, and allow you to use this door."
End
:LABEL001
Gosub LABEL016
StartDisp 1
Cls
Newlines 5
PrintLn " @X0A┌─┐ ┌─┐ ┌──────┐ ┌─────┐ ┌─────┐ ┌──────┐ "
PrintLn " │ │ │ │ │ ┌──┐ │ └─┐ ┌─┘ │ ┌───┘ │ ┌──┐ │ ┌─┐ ┌─┐ "
PrintLn " @X04└┐└┐ ┌┘┌┘ │ │ │ │ │ │ │ └─┐ │ └──┘ │ ┌┘ └┐ ┌┘ └┐"
PrintLn " @X02 └┐└┐┌┘┌┘ │ │ │ │ │ │ │ ┌─┘ │ ┌─┐ ┌┘ └┐ ┌┘ └┐ ┌┘"
PrintLn " └┐└┘┌┘ │ └──┘ │ │ │ │ └───┐ │ │ │ └┐ └─┘ └─┘ "
PrintLn " └──┘ └──────┘ └─┘ └─────┘ └─┘ └──┘ "
PrintLn " @X0D■(C)96 Practical Computer Services v4.04■ "
PrintLn " "
If (BOOLEAN003) Then
OpText "This program is registered to"
AnsiPos 0, 14
PrintLn "@X09@OPTEXT:76C@"
OpText TSTRING003(3)
AnsiPos 0, 15
PrintLn "@X03@OPTEXT:76C@"
Delay (3 * 182) / 10
Else
For INTEGER021 = 5 To 0 Step -1
AnsiPos 9, 1
PrintLn "@X0EThis @X0B", INTEGER021, "@X0E second delay is removed once this program is registered "
Delay (1.5 * 182) / 18
Next
For INTEGER021 = 5 To 0 Step -1
AnsiPos 2, 18
PrintLn "@X0CPlease help your sysop register this program and remove this @X8B", INTEGER021, "@X0C second delay@X0F"
Delay (1.5 * 182) / 18
Next
Endif
:LABEL002
INTEGER057 = 1
INTEGER056 = 15
INTEGER043 = 0
Gosub LABEL022
Color DefColor()
Cls
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│··@X1EVoter++@X10···················@X1CUser Voting Area@X10······················@X1BMain Menu@X10··@X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X10┌───────────────────────────────────@X19┐@X10┌────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│··@X16(@X1AH@X16) - @X10···························@X19│@X10│········································@X19│@X0F"
PrintLn "@X10│··@X16(@X1AL@X16) - @X10···························@X19│@X10│········································@X19│@X0F"
PrintLn "@X10│··@X16(@X1AV@X16) - @X10···························@X19│@X10└@X19────────────────────────────────────────┘@X0F"
PrintLn "@X10│··@X16(@X1AD@X16) - @X10···························@X19│@X10┌────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│··@X16(@X1CQ@X16) - @X10···························@X19│@X10│··@X1B(c)96 Practical Computer @X10······@X1Bv4.04@X10··@X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────┘@X10└@X19────────────────────────────────────────┘@X0F"
PrintLn "@X10┌───────────────────────────────────@X19┐@X0F"
PrintLn "@X10│··@X16( ) - @X10········@X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────┘@X0F"
Gosub LABEL014
If (CurSec() >= SysopSec()) Then
AnsiPos 38, 11
PrintLn "@X10┌────────────────────────────────────────@X19┐@X0F"
AnsiPos 38, 12
PrintLn "@X10│··@X16(@X9CS@X16) - @X1CThe Secret Hidden Sysop Menu!@X10···@X19│@X0F"
AnsiPos 38, 13
PrintLn "@X10└@X19────────────────────────────────────────┘@X0F"
Endif
If ((CurSec() < SysopSec()) && (Upper(TSTRING003(5)) == "YES")) Then
AnsiPos 38, 11
PrintLn "@X10┌────────────────────────────────────────@X19┐@X0F"
AnsiPos 38, 12
PrintLn "@X10│·@X16(@X1AC@X16) - @X10·································@X19│@X0F"
AnsiPos 38, 13
PrintLn "@X10└@X19────────────────────────────────────────┘@X0F"
AnsiPos 46, 12
PrintLn "@X1B", TSTRING046(26)
Endif
AnsiPos 5, 12
InputStr "_", STRING004, 27, 1, Mask_Ascii(), 1024 + 8192
AnsiPos 5, 12
Print "@X1B", STRING004
If (STRING004 == NoChar()) Goto LABEL013
If (Upper(STRING004) == "H") Goto LABEL003
If (Upper(STRING004) == "L") Goto LABEL004
If (Upper(STRING004) == "V") Goto LABEL005
If (Upper(STRING004) == "D") Goto LABEL010
If (Upper(STRING004) == "Q") Goto LABEL013
If (Upper(STRING004) == "S") Goto LABEL023
If (Upper(STRING004) == "A") Goto LABEL033
If ((Upper(STRING004) == "C") && (Upper(TSTRING003(5)) == "YES")) Goto LABEL034
If (STRING004 == 0) Goto LABEL002
:LABEL003
Color DefColor()
Cls
DispFile PPEPath() + "HELP.DSP", 2 + 1 + 4
Print " "
Gosub LABEL050
Goto LABEL002
Print "@X0F"
:LABEL004
Color DefColor()
Cls
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│··@X1EVoter++@X10··········································@X1CAvailable Voting Booths@X10·@X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
For INTEGER006 = INTEGER057 To TSTRING003(1)
STRING005 = INTEGER006
STRING006 = ReadLine(PPEPath() + "VOTE" + STRING005 + ".QUE", 1)
INTEGER007 = 70 - Len(STRING006)
Gosub LABEL022
If (INTEGER006 <= 9) PrintLn "@X10│@X1C ", INTEGER006, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
If ((INTEGER006 >= 10) && (INTEGER006 <= 99)) PrintLn "@X10│@X1C ", INTEGER006, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
If (INTEGER006 >= 100) PrintLn "@X10│@X1C", INTEGER006, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
If (INTEGER006 == INTEGER056) Then
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
Print " @X03(@X8E■@X03 = Voted on) "
Gosub LABEL050
INTEGER057 = INTEGER056
INTEGER056 = INTEGER056 + 15
Goto LABEL004
Endif
Next
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
Print " @X03(@X8E■@X03 = Voted on) "
Gosub LABEL050
Goto LABEL002
:LABEL005
STRING004 = 0
Color DefColor()
Cls
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│··@X1EVoter++@X10········@X1CPlease Choose from the booths below@X10··········@X1AVoting Area@X10··@X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
For INTEGER006 = INTEGER057 To TSTRING003(1)
STRING005 = INTEGER006
STRING006 = ReadLine(PPEPath() + "VOTE" + STRING005 + ".QUE", 1)
FClose -1
Gosub LABEL022
INTEGER007 = 70 - Len(STRING006)
If (INTEGER006 <= 9) PrintLn "@X10│ @X1C ", INTEGER006, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
If ((INTEGER006 >= 10) && (INTEGER006 <= 99)) PrintLn "@X10│@X1C ", INTEGER006, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
If (INTEGER006 >= 100) PrintLn "@X10│@X1C", INTEGER006, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
If (INTEGER006 == INTEGER056) Then
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
InputStr TSTRING046(14), STRING004, 14, 2, "1234567890QqDdMm", 0 + 4
If (S2I(STRING004, 10) > S2I(TSTRING003(1), 10)) Goto LABEL005
Gosub LABEL017
If (STRING017 == "Y") Goto LABEL020
If (Upper(STRING004) == "Q") Goto LABEL002
If (Upper(STRING004) == "D") Goto LABEL010
If (Upper(STRING004) == "M") Goto LABEL006
If (STRING004 == 0) Goto LABEL005
If (S2I(STRING004, 10) <= S2I(TSTRING003(1), 10)) Goto LABEL007
:LABEL006
INTEGER057 = INTEGER056
INTEGER056 = INTEGER056 + 15
Goto LABEL005
Endif
Next
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
InputStr TSTRING046(14), STRING004, 14, 2, "1234567890QqDdMm", 0 + 4
If (S2I(STRING004, 10) > S2I(TSTRING003(1), 10)) Goto LABEL005
Gosub LABEL017
If (STRING017 == "Y") Goto LABEL020
If (Upper(STRING004) == "Q") Goto LABEL002
If (Upper(STRING004) == "D") Then
INTEGER057 = 1
INTEGER056 = 15
Else
If (STRING004 == 0) Goto LABEL005
:LABEL007
INTEGER058 = 0
FOpen 5, PPEPath() + "vote" + STRING004 + ".que", 0, 0
:LABEL008
If (Ferr(5)) Goto LABEL009
Inc INTEGER058
FGet 5, STRING048
Goto LABEL008
:LABEL009
FClose 5
Color DefColor()
Cls
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
STRING008 = ReadLine(PPEPath() + "VOTE" + STRING004 + ".QUE", 1)
FClose -1
INTEGER007 = 71 - Len(STRING008)
PrintLn "@X10│@X14 Q:@X1E ", STRING008 + Space(INTEGER007), "@X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
INTEGER009 = 1
For INTEGER006 = 1 To INTEGER058
If (INTEGER006 <= 1) Gosub LABEL021
Inc INTEGER009
STRING008 = ReadLine(PPEPath() + "vote" + STRING004 + ".que", INTEGER009)
FClose -1
If (STRING008 == "") Break
INTEGER007 = 71 - Len(STRING008)
If (INTEGER006 <= 9) PrintLn "@X10│@X1C ", INTEGER006, "@X16)@X1B ", STRING008 + Space(INTEGER007) , "@X19│@X0F"
If (INTEGER006 >= 10) PrintLn "@X10│@X1C", INTEGER006, "@X16)@X1B ", STRING008 + Space(INTEGER007) , "@X19│@X0F"
Next
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
InputStr TSTRING046(15), STRING009, 14, 2, "1234567890Qq", 0 + 4
If (Upper(STRING009) == "Q") Goto LABEL005
If (S2I(STRING009, 10) > INTEGER058) Goto LABEL007
If (Upper(STRING009) == "Q") Goto LABEL005
If (STRING009 == 0) Goto LABEL007
If (STRING009 == "") Goto LABEL007
BYTE002 = Len(U_Name())
BYTE001 = 25 - BYTE002
STRING019 = U_Name() + Space(BYTE001)
Select Case (Len(STRING009))
Case 1
INTEGER033 = 1
Case 2
INTEGER033 = 0
End Select
FAppend 5, PPEPath() + "vote" + STRING004 + ".nam", 2, 0
FPutLn 5, U_Name(), Space(BYTE001), " ■ ", String(Date()), " ■ Answer ", STRING009, Space(INTEGER033)
FClose 5
INTEGER011 = INTEGER006 - 1
For INTEGER010 = 1 To INTEGER011
FOpen 6, PPEPath() + "vote" + STRING004 + ".ans", 2, 0
FDefIn 6
FDGet TSTRING010(INTEGER010)
Next
FClose 6
TSTRING010(STRING009) = TSTRING010(STRING009) + 1
FOpen 6, PPEPath() + "VOTE" + STRING004 + ".ANS", 1, 0
FDefOut 6
For INTEGER012 = 1 To INTEGER011
FDPutLn TSTRING010(INTEGER012)
Next
FClose 6
BOOLEAN002 = 1
Newlines 1
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│@X1EThank you for casting your vote. Make sure you take a look at the results! @X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
Delay (2 * 182) / 10
Goto LABEL005
Endif
:LABEL010
Color DefColor()
Cls
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│··@X1EVoter++@X10··································@X1CVoter Statistics Display Area@X10···@X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
For INTEGER013 = INTEGER057 To TSTRING003(1)
STRING005 = INTEGER013
STRING006 = ReadLine(PPEPath() + "VOTE" + STRING005 + ".QUE", 1)
FClose -1
INTEGER007 = 70 - Len(STRING006)
Gosub LABEL022
If (STRING005 <= 9) PrintLn "@X10│@X1C ", STRING005, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
If ((STRING005 >= 10) && (STRING005 <= 99)) PrintLn "@X10│@X1C ", STRING005, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
If (STRING005 >= 100) PrintLn "@X10│@X1C", STRING005, "@X16)@X1B", STRING018, STRING006 + Space(INTEGER007) , "@X19│@X0F"
If (STRING005 == INTEGER056) Then
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
InputStr TSTRING046(16), STRING011, 14, 2, "1234567890QqVvMm", 0 + 4
If (S2I(STRING011, 10) > S2I(TSTRING003(1), 10)) Goto LABEL010
If (Upper(STRING011) == "Q") Goto LABEL002
If (Upper(STRING011) == "V") Then
INTEGER057 = 1
INTEGER056 = 15
Goto LABEL005
Endif
If (Upper(STRING011) == "M") Goto LABEL011
If (STRING011 == 0) Goto LABEL010
Gosub LABEL053
Newline
InputStr TSTRING046(17), STRING031, 10, 1, "GgTt", 0 + 4
If (Upper(STRING031) == "G") Goto LABEL043
Goto LABEL012
:LABEL011
INTEGER057 = INTEGER056
INTEGER056 = INTEGER056 + 15
Goto LABEL010
Endif
Next
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
InputStr TSTRING046(16), STRING011, 14, 2, "1234567890QqVvMm", 0 + 4
If (S2I(STRING011, 10) > S2I(TSTRING003(1), 10)) Goto LABEL010
If (Upper(STRING011) == "Q") Goto LABEL002
If (Upper(STRING011) == "V") Then
INTEGER057 = 1
INTEGER056 = 15
Goto LABEL005
Endif
If (STRING011 == 0) Goto LABEL010
Gosub LABEL053
Newline
InputStr TSTRING046(17), STRING031, 10, 1, "GgTt", 0 + 4
If (Upper(STRING031) == "G") Then
Goto LABEL043
Endif
:LABEL012
Newlines 1
INTEGER020 = 0
FOpen 3, PPEPath() + "VOTE" + STRING011 + ".ANS", 2, 0
FDefIn 3
For INTEGER014 = 1 To S2I(TSTRING003(1), 10)
FDGet TSTRING012(INTEGER014)
INTEGER020 = INTEGER020 + TSTRING012(INTEGER014)
Next
FClose 3
Cls
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
STRING014 = ReadLine(PPEPath() + "VOTE" + STRING011 + ".QUE", 1)
FClose -1
INTEGER018 = 71 - Len(STRING014)
PrintLn "@X10│ @X1CQ:@X1E ", STRING014 + Space(INTEGER018), "@X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│·@X1AVotes@X10··@X1C%%%@X10··@X1EAnswer@X10························································@X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
INTEGER015 = 1
For INTEGER017 = 1 To S2I(TSTRING003(1), 10)
If (INTEGER017 <= 1) Gosub LABEL021
TINTEGER019(INTEGER017) = TSTRING012(INTEGER017)
Inc INTEGER015
STRING013 = ReadLine(PPEPath() + "vote" + STRING011 + ".que", INTEGER015)
FClose -1
If (STRING013 == "") Break
If (TSTRING012(INTEGER017) == "") Then
TSTRING012(INTEGER017) = 0
Endif
INTEGER028 = (TINTEGER019(INTEGER017) * 100) / INTEGER020
If (Len(TSTRING012(INTEGER017)) <= 1) Then
INTEGER026 = 4
Else
Select Case (Len(TSTRING012(INTEGER017)))
Case 2
INTEGER026 = 3
Case 3
INTEGER026 = 2
Endif
End Select
Select Case (Len(INTEGER028))
Case 1
INTEGER027 = 5
Case 2
INTEGER027 = 4
Case 3
INTEGER027 = 3
End Select
Select Case (Len(INTEGER028))
Case 1
INTEGER016 = 64 - Len(STRING013) + Len(TINTEGER019(INTEGER017)) + Len(TSTRING012(INTEGER017))
Case 2
INTEGER016 = 66 - Len(STRING013) + Len(TINTEGER019(INTEGER017)) + Len(TSTRING012(INTEGER017))
Case 3
INTEGER016 = 64 - Len(STRING013) + Len(TINTEGER019(INTEGER017)) + Len(TSTRING012(INTEGER017))
End Select
INTEGER032 = 0
If (Len(TSTRING012(INTEGER017)) == 1) Then
INTEGER032 = 2
Endif
If (Len(INTEGER028) == INTEGER032) Then
INTEGER016 = 64 - Len(STRING013) + Len(TINTEGER019(INTEGER017)) + Len(TSTRING012(INTEGER017))
Endif
PrintLn "@X10│@X1A", Space(INTEGER026), TSTRING012(INTEGER017), "@X1C", Space(INTEGER027), INTEGER028, " @X1E ", STRING013 + Space(INTEGER016), "@X19│@X0F"
Next
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
Print " "
Gosub LABEL050
Goto LABEL010
:LABEL013
AnsiPos 38, 11
PrintLn "@X10┌────────────────────────────────────────@X19┐@X0F"
AnsiPos 38, 12
PrintLn "@X10│···@X1C@X9C@X1E Thank you for using Voter++ @X9C@X1C@X10··@X19│@X0F"
AnsiPos 38, 13
PrintLn "@X10└@X19────────────────────────────────────────┘@X0F"
If (BOOLEAN002) Then
Call PPEPath() + "votegraf.ppe"
Endif
STRING047 = Time()
Log "--- Exited Voter++ at -> " + STRING047, 0
End
:LABEL014
AnsiPos 10, 5
PrintLn "@X1B", TSTRING046(1)
AnsiPos 10, 6
PrintLn "", TSTRING046(2)
AnsiPos 10, 7
PrintLn "", TSTRING046(3)
AnsiPos 10, 8
PrintLn "", TSTRING046(4)
AnsiPos 10, 9
PrintLn "@X1C", TSTRING046(5)
AnsiPos 10, 12
PrintLn "@X1B", TSTRING046(6)
AnsiPos 41, 5
PrintLn "@X1E", TSTRING046(11)
AnsiPos 41, 6
PrintLn "", TSTRING046(12)
AnsiPos 67, 5
PrintLn "@X1C", TSTRING003(1), "@X1E."
AnsiPos 67, 6
PrintLn "@X1C", INTEGER031, "@X1E."
Return
:LABEL015
AnsiPos 67, 5
PrintLn "@X1C", TSTRING003(1), "@X1E."
AnsiPos 67, 6
PrintLn "@X1C", INTEGER031, "@X1E."
AnsiPos 10, 5
PrintLn "@X1B", TSTRING046(7)
AnsiPos 10, 6
PrintLn "", TSTRING046(8)
AnsiPos 10, 7
PrintLn "", TSTRING046(9)
AnsiPos 10, 8
PrintLn "", TSTRING046(10)
AnsiPos 10, 9
PrintLn "@X1C", TSTRING046(27)
AnsiPos 41, 5
PrintLn "@X1E", TSTRING046(11)
AnsiPos 41, 6
PrintLn "", TSTRING046(12)
AnsiPos 10, 12
PrintLn "@X1B", TSTRING046(6)
Return
:LABEL016
INTEGER031 = 0
INTEGER031 = ReadLine(PPEPath() + PPEName() + ".cfg", 6)
FClose -1
INTEGER031 = INTEGER031 + 1
For INTEGER006 = 1 To 7
TSTRING003(INTEGER006) = ReadLine(PPEPath() + PPEName() + ".cfg", INTEGER006)
FClose -1
TSTRING003(INTEGER006) = RTrim(Left(TSTRING003(INTEGER006), 29), " ")
Next
FClose -1
Delete PPEPath() + PPEName() + ".cfg"
INTEGER031 = TSTRING003(6)
INTEGER031 = INTEGER031 + 1
TSTRING003(6) = INTEGER031
FOpen 3, PPEPath() + PPEName() + ".cfg", 1, 0
FDefOut 3
For INTEGER006 = 1 To 7
FDPutLn TSTRING003(INTEGER006)
Next
FClose 3
Return
PrintLn "@X0E"
:LABEL017
STRING017 = "N"
STRING016 = ""
INTEGER029 = 0
FOpen 3, PPEPath() + "VOTE" + STRING004 + ".NAM", 2, 0
FDefIn 3
:LABEL018
If (Ferr(3)) Goto LABEL019
Inc INTEGER029
FDGet STRING016
Goto LABEL018
:LABEL019
FClose 3
INTEGER029 = INTEGER029 - 1
If (INTEGER029 == 0) Then
INTEGER029 = 1
Endif
INTEGER030 = Len(U_Name())
FOpen 4, PPEPath() + "VOTE" + STRING004 + ".NAM", 2, 0
FDefIn 4
For INTEGER006 = 1 To INTEGER029
FDGet STRING016
If (Left(STRING016, INTEGER030) == U_Name()) Then
STRING017 = "Y"
Endif
Next
FClose 4
Return
:LABEL020
Newlines 1
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│ @X1ESorry but you have already voted on this question, please choose another. @X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
Delay (2 * 182) / 10
Goto LABEL002
:LABEL021
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
Return
:LABEL022
STRING020 = PPEPath() + "vote" + STRING005 + ".nam"
INTEGER034 = FileInf(STRING020, 4)
INTEGER035 = INTEGER034 / 50
If (INTEGER035 == 0) Then
STRING018 = " "
Return
Endif
For INTEGER036 = 1 To INTEGER035
STRING021 = ReadLine(STRING020, INTEGER036)
If (U_Name() == Left(STRING021, Len(U_Name()))) Then
STRING018 = "@X9E■@X1B"
Return
Endif
Next
STRING018 = " "
Return
:LABEL023
INTEGER057 = 1
INTEGER056 = 15
If (CurSec() < SysopSec()) Then
AnsiPos 38, 11
PrintLn "@X10┌────────────────────────────────────────@X19┐@X0F"
AnsiPos 38, 12
PrintLn "@X10│ @X1CThis function is not available to you! @X19│@X0F"
AnsiPos 38, 13
PrintLn "@X10└@X19────────────────────────────────────────┘@X0F"
Delay (2 * 182) / 10
Goto LABEL002
Endif
Color DefColor()
Cls
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│··@X1EVoter++@X10···················@X1CSysop Maintenance Area@X10···························@X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X10┌───────────────────────────────────@X19┐@X10┌────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│··@X16(@X1AH@X16) - @X10···························@X19│@X10│········································@X19│@X0F"
PrintLn "@X10│··@X16(@X1AE@X16) - @X10···························@X19│@X10│········································@X19│@X0F"
PrintLn "@X10│··@X16(@X1AC@X16) - @X10···························@X19│@X10└@X19────────────────────────────────────────┘@X0F"
PrintLn "@X10│··@X16(@X1AD@X16) - @X10···························@X19│@X10┌────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│··@X16(@X1CQ@X16) - @X10···························@X19│@X10│··@X1B(c)96 Practical Computer @X10······@X1Bv4.04@X10··@X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────┘@X10└@X19────────────────────────────────────────┘@X0F"
PrintLn "@X10┌───────────────────────────────────@X19┐@X0F"
PrintLn "@X10│··@X16( ) - @X10···························@X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────┘@X0F"
Gosub LABEL015
AnsiPos 5, 12
STRING022 = ""
While (STRING022 == "") Do
STRING022 = Inkey()
EndWhile
AnsiPos 5, 12
Print "@X13" + Upper(STRING022)
Delay 1
If (Upper(STRING022) == "H") Goto LABEL024
If (Upper(STRING022) == "E") Goto LABEL025
If (Upper(STRING022) == "C") Goto LABEL034
If (Upper(STRING022) == "D") Goto LABEL041
If (Upper(STRING022) == "Q") Goto LABEL002
If (STRING022 == 0) Goto LABEL023
:LABEL024
Color DefColor()
Cls
DispFile PPEPath() + "SYS_HELP.DSP", 2 + 1 + 4
Print " "
Gosub LABEL050
Goto LABEL023
:LABEL025
STRING027 = 0
Color DefColor()
Cls
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│··@X1EVoter++@X10········@X1CPlease Choose the booth to Edit@X10···························@X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
For INTEGER006 = INTEGER057 To TSTRING003(1)
STRING005 = INTEGER006
STRING006 = ReadLine(PPEPath() + "VOTE" + STRING005 + ".QUE", 1)
INTEGER007 = 70 - Len(STRING006)
If (INTEGER006 <= 9) PrintLn "@X10│@X1C ", INTEGER006, "@X16) @X1B", STRING006 + Space(INTEGER007) , "@X19│@X0F"
If ((INTEGER006 >= 10) && (INTEGER006 <= 99)) PrintLn "@X10│@X1C ", INTEGER006, "@X16)@X1B ", STRING006 + Space(INTEGER007) , "@X19│@X0F"
If (INTEGER006 >= 100) PrintLn "@X10│@X1C", INTEGER006, "@X16)@X1B ", STRING006 + Space(INTEGER007) , "@X19│@X0F"
If (INTEGER006 == INTEGER056) Then
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
InputStr TSTRING046(18), STRING027, 11, 2, "1234567890QqMm", 0 + 4
If (Upper(STRING027) == "Q") Goto LABEL023
If (Upper(STRING027) == "M") Goto LABEL026
If (S2I(STRING027, 10) > S2I(TSTRING003(1), 10)) Goto LABEL025
:LABEL026
INTEGER057 = INTEGER056
INTEGER056 = INTEGER056 + 15
Goto LABEL025
Endif
Next
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
InputStr TSTRING046(18), STRING027, 11, 2, "1234567890Qq", 0 + 4
If (Upper(STRING027) == "Q") Goto LABEL023
If (S2I(STRING027, 10) > S2I(TSTRING003(1), 10)) Goto LABEL025
INTEGER041 = 0
FOpen 5, PPEPath() + "vote" + STRING027 + ".que", 0, 0
FDefIn 5
:LABEL027
If (Ferr(5)) Goto LABEL028
Inc INTEGER041
FDGet STRING007
Goto LABEL027
:LABEL028
FClose 5
INTEGER041 = INTEGER041 - 1
FOpen 5, PPEPath() + "vote" + STRING027 + ".que", 0, 0
FDefIn 5
For INTEGER006 = 1 To INTEGER041
FDGet TSTRING028(INTEGER006)
Next
FClose 5
Dec INTEGER041
:LABEL029
INTEGER045 = 1
Color DefColor()
Cls
PrintLn " @X04Q:@X02 ", TSTRING028(1)
PrintLn
For INTEGER006 = 1 To INTEGER041
Inc INTEGER045
If (INTEGER006 <= 9) PrintLn "@X04 ", INTEGER006, "@X06)@X09 ", TSTRING028(INTEGER045)
If (INTEGER006 >= 10) PrintLn "@X04", INTEGER006, "@X06)@X09 ", TSTRING028(INTEGER045)
Next
PrintLn
InputStr TSTRING046(19), STRING029, 10, 2, "1234567890QqSs", 0 + 4
If (Upper(STRING029) == "S") Goto LABEL030
If (Upper(STRING029) == "Q") Goto LABEL025
STRING029 = STRING029 + 1
PrintLn
PrintLn "@X0BOld Line : ", TSTRING028(STRING029)
InputStr TSTRING046(20), TSTRING028(STRING029), 9, 60, Mask_Ascii(), 0
Goto LABEL029
:LABEL030
INTEGER041 = 0
FOpen 5, PPEPath() + "vote" + STRING027 + ".que", 0, 0
FDefIn 5
:LABEL031
If (Ferr(5)) Goto LABEL032
Inc INTEGER041
FDGet STRING007
Goto LABEL031
:LABEL032
FClose 5
INTEGER041 = INTEGER041 - 1
FOpen 5, PPEPath() + "vote" + STRING027 + ".que", 1, 0
FDefOut 5
For INTEGER006 = 1 To INTEGER041
FDPutLn TSTRING028(INTEGER006)
Next
FClose 5
Delete PPEPath() + "vote" + STRING027 + ".nam"
Delete PPEPath() + "vote" + STRING027 + ".ans"
Goto LABEL023
:LABEL033
Print "@X0F@CLS@"
Newlines 5
PrintLn "@POS:25@@X10┌─────────────────────────────@X19┐@X0F"
PrintLn "@POS:25@@X10│ @X1AVoter++ v4.04@X1E @X10 @X19│@X0F"
PrintLn "@POS:25@@X10│@X1E (c)96 Practical Computer @X19│@X0F"
PrintLn "@POS:25@@X10│@X16▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X19│@X0F"
PrintLn "@POS:25@@X10│ @X19│@X0F"
PrintLn "@POS:25@@X10│ @X1EProgrammed by: Bob Watson @X19│@X0F"
PrintLn "@POS:25@@X10│ @X19│@X0F"
PrintLn "@POS:25@@X10│@X1C @X1APractical Computer Services@X1C @X19│@X0F"
PrintLn "@POS:25@@X10│ @X1A483 Klockner Road @X19│@X0F"
PrintLn "@POS:25@@X10│ @X1AHamilton, NJ 08619 @X19│@X0F"
PrintLn "@POS:25@@X10└@X19─────────────────────────────┘@X0F"
Delay (5 * 182) / 10
Goto LABEL002
:LABEL034
FOpen 6, PPEPath() + "security.lst", 0, 0
:LABEL035
If (Ferr(6)) Goto LABEL036
FGet 6, INTEGER059
If (CurSec() == INTEGER059) Then
Newlines 4
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│ @X1E*@X9CNotice@X1E* @X1CYour sysop has disallowed your security level for this command @X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
Delay (4 * 182) / 10
FClose 6
Goto LABEL002
Endif
Goto LABEL035
:LABEL036
For INTEGER042 = 1 To S2I(TSTRING003(1), 10)
STRING030 = INTEGER042
If (Exist(PPEPath() + PPEName() + STRING030 + ".que")) Then
Next
Endif
If (S2I(STRING030, 10) == S2I(TSTRING003(1), 10)) STRING030 = STRING030 + 1
For STRING038 = 1 To 16
TSTRING026(STRING038) = ""
Next
Color DefColor()
STRING025 = ""
Color DefColor()
Cls
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│··@X1EVoter++@X10········@X1CBooth Creator@X10·············································@X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X0ANext available booth slot is:@X8C ", STRING030
InputStr "@X0ASave Questionnaire to (@X0CENTER @X0Ato save to next available slot) ", STRING030, 10, 2, "1234567890", 0
If (Exist(PPEPath() + PPEName() + STRING030 + ".que")) Then
PrintLn
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│ @X1ESorry, but you have choosen a booth that already contains a valid Voting @X19│@X0F"
PrintLn "@X10│ @X1EBooth, please recheck the next available slot and try again. @X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
Delay (5 * 182) / 10
Goto LABEL034
Endif
PrintLn
PrintLn "@X09Please enter your question below (70 chars max) @X04Q to quit@X01"
PrintLn
InputStr "", STRING025, 11, 70, Mask_Ascii(), 64 + 2 + 4
If ((Upper(STRING025) == "Q") && (CurSec() >= SysopSec())) Goto LABEL023
If ((Upper(STRING025) == "Q") && (CurSec() < SysopSec())) Goto LABEL002
If (STRING025 == "") Goto LABEL034
PrintLn
PrintLn "@X09Now please enter up to 16 possible voting answers below (60 chars max each)"
PrintLn "Enter a blank line to end and save your new booth."
PrintLn
INTEGER038 = 1
While (INTEGER038 <= 16) Do
If (INTEGER038 > 16) Break
If (INTEGER038 <= 9) Print " @X04", INTEGER038, "@X06)@X0B "
If (INTEGER038 >= 10) Print "@X04", INTEGER038, "@X06) "
InputStr "", TSTRING026(INTEGER038), 11, 60, Mask_Ascii(), 64 + 2 + 4
If (TSTRING026(INTEGER038) == "") Break
Inc INTEGER038
EndWhile
Dec INTEGER038
:LABEL037
Cls
PrintLn "@X04Q: ", STRING025
PrintLn
For INTEGER039 = 1 To INTEGER038
If (INTEGER039 <= 9) PrintLn " ", INTEGER039, "@X06)@X09 ", TSTRING026(INTEGER039)
If (INTEGER039 >= 10) PrintLn "@X04", INTEGER039, "@X06)@X09 ", TSTRING026(INTEGER039)
Next
PrintLn
InputStr TSTRING046(21), STRING024, 10, 1, "YyNn", 0
If (Upper(STRING024) == "Y") Goto LABEL039
If (Upper(STRING024) == "N") Then
Newline
:LABEL038
InputStr TSTRING046(22), INTEGER040, 4, 2, "1234567890", 0
If (INTEGER040 > INTEGER039) Goto LABEL038
Newline
PrintLn "@X02Old Line > ", TSTRING026(INTEGER040)
InputStr TSTRING046(23), TSTRING026(INTEGER040), 11, 60, Mask_Ascii(), 64 + 2 + 4
Goto LABEL037
Endif
:LABEL039
Log STRING025, 1
Log "Voter++ Booth Created, Question Follows", 1
For INTEGER006 = 1 To 7
TSTRING003(INTEGER006) = ReadLine(PPEPath() + PPEName() + ".cfg", INTEGER006)
TSTRING003(INTEGER006) = RTrim(Left(TSTRING003(INTEGER006), 29), " ")
Next
FClose -1
Delete PPEPath() + PPEName() + ".cfg"
FOpen 7, PPEPath() + PPEName() + STRING030 + ".que", 1, 0
FDefOut 7
FDPutLn STRING025
For INTEGER006 = 1 To INTEGER038
FDPutLn TSTRING026(INTEGER006)
Next
FClose 7
If (STRING030 < S2I(TSTRING003(1), 10)) Goto LABEL040
INTEGER037 = TSTRING003(1)
INTEGER037 = INTEGER037 + 1
TSTRING003(1) = INTEGER037
:LABEL040
FOpen 3, PPEPath() + PPEName() + ".cfg", 1, 0
FDefOut 3
For INTEGER006 = 1 To 7
FDPutLn TSTRING003(INTEGER006)
Next
FClose 3
If (CurSec() >= SysopSec()) Then
Goto LABEL023
ElseIf (CurSec() < SysopSec()) Then
Goto LABEL002
Endif
:LABEL041
Color DefColor()
Cls
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│··@X1EVoter++@X10········@X1CPlease Choose the booth to @X9CDelete@X10·························@X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
For INTEGER006 = INTEGER057 To TSTRING003(1)
If (INTEGER006 <= 1) Gosub LABEL021
STRING005 = INTEGER006
STRING006 = ReadLine(PPEPath() + "VOTE" + STRING005 + ".QUE", 1)
INTEGER007 = 70 - Len(STRING006)
If (INTEGER006 <= 9) PrintLn "@X10│@X1C ", INTEGER006, "@X16) @X1B", STRING006 + Space(INTEGER007) , "@X19│@X0F"
If ((INTEGER006 >= 10) && (INTEGER006 <= 99)) PrintLn "@X10│@X1C ", INTEGER006, "@X16)@X1B ", STRING006 + Space(INTEGER007) , "@X19│@X0F"
If (INTEGER006 >= 100) PrintLn "@X10│@X1C", INTEGER006, "@X16)@X1B ", STRING006 + Space(INTEGER007) , "@X19│@X0F"
If (INTEGER006 == INTEGER056) Then
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
InputStr TSTRING046(24), STRING023, 11, 2, "1234567890QqMm", 0 + 4
If (Upper(STRING023) == "Q") Goto LABEL023
If (Upper(STRING023) == "M") Goto LABEL000
INTEGER057 = INTEGER056
INTEGER056 = INTEGER056 + 15
Goto LABEL041
Endif
Next
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
InputStr TSTRING046(24), STRING023, 11, 2, "1234567890Qq", 0 + 4
If (Upper(STRING023) == "Q") Goto LABEL023
If (S2I(STRING023, 10) > S2I(TSTRING003(1), 10)) Then
PrintLn
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│ @X1BYou have choosen a non-existant booth #, please try again (or @X1CQ @X1Bto quit) @X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
Delay (1.5 * 182) / 102
Goto LABEL041
Endif
Cls
Color DefColor()
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│ @X9CCAUTION * @X1CWE WILL DELETE THE FOLLOWING BOOTH - PLEASE VERIFY! @X9C* CAUTION @X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
PrintLn "@X10┌───────────────────────────────────────────────────────────────────────────@X19┐@X0F"
STRING006 = ReadLine(PPEPath() + "VOTE" + STRING023 + ".QUE", 1)
FClose -1
INTEGER007 = 70 - Len(STRING006)
If (STRING023 <= 9) PrintLn "@X10│@X1C ", STRING023, "@X16) @X1B", STRING006 + Space(INTEGER007) , "@X19│@X0F"
If ((STRING023 >= 10) && (STRING023 <= 99)) PrintLn "@X10│@X1C ", STRING023, "@X16)@X1B ", STRING006 + Space(INTEGER007) , "@X19│@X0F"
If (STRING023 >= 100) PrintLn "@X10│@X1C", STRING023, "@X16)@X1B ", STRING006 + Space(INTEGER007) , "@X19│@X0F"
PrintLn "@X10└@X19───────────────────────────────────────────────────────────────────────────┘@X0F"
InputStr TSTRING046(25), STRING024, 4, 1, "YyNn", 0 + 4
If (Upper(STRING024) == "Y") Then
Delete PPEPath() + "vote" + STRING023 + ".nam"
Delete PPEPath() + "vote" + STRING023 + ".ans"
Delete PPEPath() + "vote" + STRING023 + ".que"
For INTEGER006 = 1 To 7
TSTRING003(INTEGER006) = ReadLine(PPEPath() + PPEName() + ".cfg", INTEGER006)
TSTRING003(INTEGER006) = RTrim(Left(TSTRING003(INTEGER006), 29), " ")
Next
FClose -1
Delete PPEPath() + PPEName() + ".cfg"
If (S2I(STRING023, 10) < S2I(TSTRING003(1), 10)) Goto LABEL042
INTEGER037 = TSTRING003(1)
INTEGER037 = INTEGER037 - 1
TSTRING003(1) = INTEGER037
:LABEL042
FOpen 3, PPEPath() + PPEName() + ".cfg", 1, 0
FDefOut 3
For INTEGER006 = 1 To 7
FDPutLn TSTRING003(INTEGER006)
Next
FClose 3
Endif
Goto LABEL023
Inc INTEGER043
For INTEGER044 = 1 To 45
Next
If (INTEGER043 >= 400) Goto LABEL013
Return
:LABEL043
STRING005 = 0
INTEGER008 = 0
INTEGER049 = 0
INTEGER020 = 0
INTEGER053 = 0
INTEGER054 = 0
INTEGER048 = 0
STRING036 = ""
INTEGER047 = 0
INTEGER050 = 0
INTEGER051 = 0
INTEGER052 = 1
INTEGER060 = 0
FOpen 5, PPEPath() + "vote" + STRING011 + ".ans", 0, 0
FDefIn 5
:LABEL044
If (Ferr(5)) Goto LABEL045
Inc INTEGER050
FDGet STRING036
INTEGER060 = STRING036 + INTEGER060
Goto LABEL044
:LABEL045
FClose 5
INTEGER050 = INTEGER050 - 1
STRING033 = PPEPath() + "vote" + STRING011 + ".ans"
STRING034 = PPEPath() + "vote" + STRING011 + ".que"
STRING035 = ReadLine(STRING034, 1)
FOpen 2, STRING034, 0, 0
FDefIn 2
:LABEL046
If (Ferr(2)) Goto LABEL047
Inc INTEGER051
FDGet TSTRING037(INTEGER051)
TSTRING037(INTEGER051) = Left(TSTRING037(INTEGER051), 52)
Goto LABEL046
:LABEL047
FClose 2
Cls
PrintLn "Q: ", STRING035
PrintLn
PrintLn "@X0EPossible Answers: @X0C0 25 50 75 100"
PrintLn " @X04├┬┬┬┬┼┬┬┬┬┼┬┬┬┬┼┬┬┬┬┤"
For INTEGER048 = 1 To INTEGER050
If (INTEGER048 > 16) Break
TINTEGER046(INTEGER048) = ReadLine(STRING033, INTEGER048)
INTEGER049 = INTEGER049 + TINTEGER046(INTEGER048)
If (TINTEGER046(INTEGER048) == "") TINTEGER046(INTEGER048) = "0"
Inc INTEGER047
Next
For INTEGER048 = 1 To INTEGER047
If (INTEGER048 > 16) Goto LABEL048
If (INTEGER048 > INTEGER047) Goto LABEL048
TINTEGER046(INTEGER048) = (TINTEGER046(INTEGER048) * 100) / INTEGER049
:LABEL048
If (TINTEGER046(INTEGER048) == 0) Then
TSTRING032(0) = "@X09■@X0A····················"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 5) Then
TSTRING032(0) = "@X09■@X0A■···················"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 10) Then
TSTRING032(0) = "@X09■@X0A■■··················"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 15) Then
TSTRING032(0) = "@X09■@X0A■■■·················"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 20) Then
TSTRING032(0) = "@X09■@X0A■■■■················"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 25) Then
TSTRING032(0) = "@X09■@X0A■■■■■···············"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 30) Then
TSTRING032(0) = "@X09■@X0A■■■■■■··············"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 35) Then
TSTRING032(0) = "@X09■@X0A■■■■■■■·············"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 40) Then
TSTRING032(0) = "@X09■@X0A■■■■■■■■············"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 45) Then
TSTRING032(0) = "@X09■@X0A■■■■■■■■■···········"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 50) Then
TSTRING032(0) = "@X09■@X0A■■■■■■■■■■··········"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 55) Then
TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■·········"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 60) Then
TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■········"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 65) Then
TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■■·······"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 70) Then
TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■■■······"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 75) Then
TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■■■■·····"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 80) Then
TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■■■■■····"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 85) Then
TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■■■■■■···"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 90) Then
TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■■■■■■■··"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 95) Then
TSTRING032(0) = "@X09■@X0A■■■■■■■■■■■■■■■■■■■·"
Goto LABEL049
ElseIf (TINTEGER046(INTEGER048) <= 100) Then
TSTRING032(0) = "@X09■■■■■■■■■■■■■■■■■■■■@X0E■"
Goto LABEL049
Endif
If (TINTEGER046(INTEGER048) >= 101) Then
Goto LABEL048
Endif
:LABEL049
INTEGER052 = INTEGER052 + 1
INTEGER053 = Len(TSTRING037(INTEGER052))
INTEGER054 = 50 - INTEGER053
PrintLn "@X0B", TSTRING037(INTEGER052), Space(INTEGER054), " ", TSTRING032(0), " ", TINTEGER046(INTEGER048), "%"
Next
PrintLn " @X04 ├┴┴┴┴┼┴┴┴┴┼┴┴┴┴┼┴┴┴┴┤"
PrintLn " @X0C0 25 50 75 100"
PrintLn " @X0AVoted on by@X0C ", INTEGER060, " @X0Acallers"
PrintLn
Gosub LABEL050
Goto LABEL010
:LABEL050
STRING041 = "Voter++ - " + TSTRING046(13)
BOOLEAN001 = 0
INTEGER055 = Len(STRING041)
STRING041 = Trim(STRING041, " ")
STRING042 = Inkey()
STRING043 = 0
STRING039 = GetX()
STRING040 = GetY()
Print STRING041
AnsiPos STRING039, STRING040
:LABEL051
If (STRING043) Goto LABEL052
If (STRING042 <> "") Then
STRING043 = 1
Endif
STRING044 = "@X0" + Random(9)
If (INTEGER055 > Len(STRING041)) Then
AnsiPos STRING039, STRING040
Color STRING044
Print STRING041
INTEGER055 = 1
Else
AnsiPos STRING039, STRING040
Color STRING044
Print STRING041
INTEGER055 = Len(STRING041) + 1
Endif
Inc INTEGER055
STRING042 = Inkey()
If (STRING042 <> "") Then
STRING043 = 1
Endif
Delay 3
Goto LABEL051
:LABEL052
AnsiPos STRING039, STRING040
Print "@CLREOL@"
Return
:LABEL053
STRING045 = PPEPath() + "vote" + I2S(STRING011, 10) + ".ans"
If (FileInf(STRING045, 4) == 0) Then
PrintLn
PrintLn "@X10┌─────────────────────────────────────────────────────────────────────────────@X19┐@X0F"
PrintLn "@X10│ @X1EThere have been no votes on this question yet, *@X1CYOU@X1E* can be the first one! @X19│@X0F"
PrintLn "@X10└@X19─────────────────────────────────────────────────────────────────────────────┘@X0F"
Print " "
Gosub LABEL050
Goto LABEL010
Endif
Return
:LABEL054
INTEGER063 = 0
STRING050 = ReadLine(PPEPath() + PPEName() + ".CFG", 1)
INTEGER030 = Len(U_Name())
PrintLn
Print "@X0EGathering Stats "
For INTEGER061 = 1 To S2I(STRING050, 10)
If (INTEGER063 == 44) Gosub LABEL057
Inc INTEGER063
Print "@X0B·@X0F"
FOpen 4, PPEPath() + "VOTE" + I2S(INTEGER061, 10) + ".NAM", 0, 0
FDefIn 4
:LABEL055
If (Ferr(4)) Goto LABEL056
FDGet STRING016
If (Left(STRING016, INTEGER030) == U_Name()) Then
INTEGER062 = INTEGER062 + 1
Endif
Goto LABEL055
:LABEL056
FClose 4
Next
Newlines 2
PrintLn " @X10┌────────────────────────────────────────────────────────@X19┐@X0F"
If (S2I(STRING050, 10) <= 9) Then
PrintLn " @X10│ @X1BThere are @X1C", STRING050, "@X1B Voting Questions in the Voter++ Door @X19│@X0F"
ElseIf (S2I(STRING050, 10) >= 10) Then
PrintLn " @X10│ @X1BThere are@X1C ", STRING050, "@X1B Voting Questions in the Voter++ Door @X19│@X0F"
Endif
If (INTEGER062 <= 9) Then
PrintLn " @X10│ @X1A@FIRST:8R@ you have voted on@X1C ", INTEGER062, "@X1A Questions. @X19│@X0F"
ElseIf (INTEGER062 >= 10) Then
PrintLn " @X10│ @X1A@FIRST:8R@ you have voted on@X1C ", INTEGER062, "@X1A Questions. @X19│@X0F"
Endif
PrintLn " @X10└@X19────────────────────────────────────────────────────────┘@X0F"
PrintLn
End
:LABEL057
Newline
Print " "
INTEGER063 = 0
Return
If (Exist(PPEPath() + "UNIVERSL.KEY")) Goto LABEL058
If (Exist(PPEPath() + "UNI.KEY")) Goto LABEL059
:LABEL058
FOpen 1, PPEPath() + "UNIVERSL.KEY", 0, 0
FDefIn 1
For INTEGER006 = 1 To 3
FDGet TSTRING002(INTEGER006)
Next
FClose 1
STRING001 = TSTRING002(1) + TSTRING002(2)
STRING001 = Strip(STRING001, " ")
For INTEGER004 = 1 To Len(STRING001)
TINTEGER005(INTEGER004) = Asc(Mid(STRING001, INTEGER004, 1))
Next
INTEGER002 = 0
For INTEGER004 = 1 To 99
INTEGER002 = INTEGER002 + TINTEGER005(INTEGER004)
Next
INTEGER003 = INTEGER002 * 659
INTEGER001 = INTEGER003
BOOLEAN003 = 0
If (INTEGER003 <> TSTRING002(3)) Then
BOOLEAN003 = 0
Else
BOOLEAN003 = 1
Endif
Return
:LABEL059
FOpen 1, PPEPath() + "UNI.KEY", 0, 0
FDefIn 1
For INTEGER006 = 1 To 3
FDGet TSTRING002(INTEGER006)
Next
FClose 1
STRING001 = TSTRING002(1) + TSTRING002(2)
STRING001 = Strip(STRING001, " ")
For INTEGER004 = 1 To Len(STRING001)
TINTEGER005(INTEGER004) = Asc(Mid(STRING001, INTEGER004, 1))
Next
INTEGER002 = 0
For INTEGER004 = 1 To 99
INTEGER002 = INTEGER002 + TINTEGER005(INTEGER004)
Next
INTEGER003 = INTEGER002 * 659
INTEGER001 = INTEGER003
BOOLEAN003 = 0
If (INTEGER003 <> TSTRING002(3)) Then
BOOLEAN003 = 0
Else
BOOLEAN003 = 1
Endif
Return
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 17 Cls
; 16 Color
; 333 Goto
; 302 Let
; 19 Print
; 216 PrintLn
; 229 If
; 2 DispFile
; 22 FOpen
; 1 FAppend
; 35 FClose
; 2 FGet
; 1 FPutLn
; 1 StartDisp
; 1 GetUser
; 8 Delete
; 4 Log
; 21 InputStr
; 24 Gosub
; 14 Return
; 12 Delay
; 14 Inc
; 2 Dec
; 5 Newline
; 7 Newlines
; 1 GetToken
; 1 Call
; 2 OpText
; 45 AnsiPos
; 14 FDefIn
; 6 FDefOut
; 14 FDGet
; 7 FDPutLn
; 8 Redim
;
;
; ■ Functions used :
;
; 18 -
; 15 *
; 13 /
; 266 +
; 21 -
; 89 ==
; 4 <>
; 47 <
; 85 <=
; 14 >
; 105 >=
; 126 !
; 92 &&
; 41 ||
; 48 Len(
; 44 Upper()
; 3 Mid()
; 8 Left()
; 29 Space()
; 8 Ferr()
; 3 Asc()
; 4 RTrim()
; 1 Trim()
; 1 Random()
; 1 Date()
; 2 Time()
; 9 U_Name()
; 1 NoChar()
; 3 Strip()
; 3 Inkey()
; 1 String()
; 5 Mask_Ascii()
; 58 PPEPath()
; 18 ReadLine()
; 7 SysopSec()
; 8 CurSec()
; 6 Exist()
; 2 I2S()
; 40 S2I()
; 1 AnsiOn()
; 1 GetX()
; 1 GetY()
; 14 DefColor()
; 2 FileInf()
; 16 PPEName()
;
;------------------------------------------------------------------------------
;
; Analysis flags : Cs
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
; s - Sysop level access ■ 5
; Program is reading the sysop access level, this may be normal
; but still it is very suspect. It is the best way to give a user
; all priviledges. Check!
; ■ Search for : SYSOPSEC()
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 41 For/Next
; 2 While/EndWhile
; 64 If/Then or If/Then/Else
; 4 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------